--------------- R A M P O N G (C) 2009/2017 Thomas Jentzsch DEVELOPMENT ----------- Someone at AtariAge was wondering if it would be possible to run anything on an Atari 2600 without keeping the cart plugged in. Which means within 128 bytes! I took the challenge and developed RAM Pong, then 2K in size. Most of the space was used for a fancy option menu and title screen which I have stripped down this week to fit into 1K. The fancy and quite well commented 128 bytes kernel manages to: - read and display two paddles - display a dotted net and adjust position according to scoring (no space for fancy digits within just 128 bytes :) - move the ball, check its border and paddle collisions and adjust its speed and direction accordingly - play Pong sounds whenever the ball hits something - detect game over - create a valid TV signal (which the Atari can't do on its own) Note: Since the code is run in RAM, all variables are right inside the code. So (almost) every variables change causes the code to self-modify. Two variables have been excluded because they are most space efficiently accessed by using PLA and PHA with the stack pointer adjust accordingly. For that 128 bytes RAM code is heavily optimized. The menu code not so much. Use DASM to assemble. THE GAME -------- Good old Pong, that's all. PLAYING THE GAME ---------------- You know the rules, don't you? The net is there to indicate who is winning. Whenever you miss a ball, it moves toward your direction. When it reaches your border, game over! SWITCHES (Stella emulator keys; download: http://stella.sourceforge.net/) -------- FIRE (LEFT CTRL) start game COLOR MODE (F3/F4) Color = green background; B/W = black background LEFT DIFFICULTY (F5/F6) B = large paddles; A = small paddles RIGHT DIFFICULTY (F7/F8) B = slow ball; A = fast ball ON/OFF (CTRL+R) reload ROM for restarting (no other option, sorry) For Stella you should go into the options menu via TAB key and then at "Game Properties"/"Controller" set "P0+P1 Controller" both to "Paddles". Also in "Input Settings"/"Device and Ports" you may want to enable "Grab mouse in emulation mode". Reload the ROM afterwards to make the changes effective. DISPLAY ------- The menu displays the switches status below that nice rotating title. These are patched into the 128 bytes RAM code when you start the game. In the game, well...: Two paddles moving up and down, a ball moving all around and a net moving left and right. LEGAL STUFF ----------- RAM Pong (C) 2009/2017 Thomas Jentzsch This game is freeware, but copyrighted; it may be freely distributed, but it must be always accompanied by this documentation file. This program may be included on websites and shareware or freeware compilations, but please contact me first. You can't distribute RAM Pong on Atari 2600 cartridges without my explicit permission. Thomas Jentzsch makes no guarantees, written or implied, on this software. I'm not responsible for any damage due to the use of this software. MISC ---- Please send any comments, questions, or suggestions to: tjentzsch@yahoo.de Enjoy!